#ifndef N0DEFS_H_2006_05_13
#define N0DEFS_H_2006_05_13

/**********************************************************
1) Operation system defines
Windows - WINDOWS
Windows Mobile 2006 - WM2006
Windows Mobile 2005 - WM2005
Pocket PC 2003      - PPC2003
MacOSX  - MACOS
Linux   - LINUX
Solaris - SOLARIS
***********************************************************/

#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
#define  WINDOWS

#if _WIN32_WCE==0x420
#define PPC2003
#elif _WIN32_WCE==0x501
#define WM2005
#endif

#endif

#ifdef WINDOWS
#define N0BufferSizeForDecimalInt       12  /* -2000000000 */
#define N0BufferSizeForDecimalLong      12  /* -2000000000 */
#define N0BufferSizeForDecimalPointer   11  /* 0x80000000  */
#elif defined(_WIN64) 
#error Win64 not defined
#endif

#ifdef WINDOWS
#define N0MustBeImplemented         #error   Must be implemented
#define N0WarningNotImplemented     #warning Not implemented
#endif


#if !defined(NLIB) /* This header included from application */
#define NAPP
#else /* This header included from library */

#endif

#define GCC_ABOVE(a,b) (__GNUC__==a && __GNUC_MINOR__>b) || (__GNUC__>a)

#ifndef WINDOWS
#define COLORREF  uint32
#define BYTE      uint8
#define GetRValue(c) ((BYTE)(c))
#define GetGValue(c) ((BYTE)(((WORD)(c))>>8))
#define GetBValue(c) ((BYTE)((c)>>16))
#define RGB(r,g,b)   ((COLORREF)((BYTE)(r)|((BYTE)(g) << 8)|((BYTE)(b) << 16)))
#endif

#endif //N0DEFS_H_2006_05_13
